var mongoose = require("mongoose"),
	Page = require("./public/page"),
	db = mongoose.connection;
var articleSchema = new mongoose.Schema({
		//标题
		title : {type : String , required : true},
		//发布时间
		releaseTime : {type : Number , required : true},
		//作者
		author : {type : String , required : true},
		//栏目
		column : {type : String , required : true},
		//来源
		source : {type : String , required : true},
		//关键词
		keywords : {type : String , required : true},
		//收藏
		colTion : {type : Number},
		//图片地址
		imgSrc : {type : String , required : true},
		//点赞
		like : {type : Number},
		//是否热门推荐
		Popular  : {type : Number , default : 0},
		//内容
		content : {type : String , required : true},
		//简介
		briefing : {type : String , required : true},
		//评论
		comment : {type : Array}
	});
var articleS = db.model("article",articleSchema);
//类
function Article(data){
	this.data = {
		title : data && data.title,
		releaseTime : new Date().getTime(),
		author : data && data.author,
		column : data && data.column,
		content : data && data.content,
		source : data && data.source,
		colTion : data && data.colTion,
		like : data && data.like,
		Popular : data && data.Popular,
		imgSrc : data && data.imgSrc,
		briefing : data && data.briefing,
		keywords : data && data.keywords
	};
};
//获取数据
Article.prototype.getArticle = function(data , callback){
	//调用分页
	Page(data , articleS , callback);
};
//保存数据
Article.prototype.createArticle = function(callback){
	var th = this;
	//执行数据库添加
	articleS.create(this.data , function(error , data){
		if(error){
			console.log("文章添加失败!");
			callback && callback(error);
		}else{
			console.log("保存成功!");
			callback && callback(null , data);
		};
	});
};
//删除文章
Article.prototype.remove = function(data , callback){
	articleS.remove(data , function(error , data){
		if(error){
			return callback(error);
		}else{
			return callback(null , data);
		};
	});
};
//添加评论
Article.prototype.setComment = function(id , data , callback){
	articleS.update({_id : id} , {$push : {comment : data}} , function(error , data){
		if(error){
			return callback(error);
		}else{
			return callback(null , data);
		};
	});
};
module.exports = Article;
